package com.ruoyi.hospital.service.prescriptionInfo.impl;

import java.util.List;

import com.ruoyi.hospital.mapper.shop.PharmacyDrugSkuMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.hospital.mapper.prescriptionInfo.PrescriptionDrugMapper;
import com.ruoyi.hospital.domain.prescriptionInfo.PrescriptionDrug;
import com.ruoyi.hospital.service.prescriptionInfo.IPrescriptionDrugService;

/**
 * 处方药品信息表Service业务层处理
 * 
 * @author wendao
 * @date 2024-10-21
 */
@Service
public class PrescriptionDrugServiceImpl implements IPrescriptionDrugService 
{
    @Autowired
    private PrescriptionDrugMapper prescriptionDrugMapper;
    @Autowired
    private PharmacyDrugSkuMapper pharmacyDrugSkuMapper;

    /**
     * 查询处方药品信息表
     * 
     * @param id 处方药品信息表主键
     * @return 处方药品信息表
     */
    @Override
    public PrescriptionDrug selectPrescriptionDrugById(Integer id)
    {
        return prescriptionDrugMapper.selectPrescriptionDrugById(id);
    }



    /**
     * 查询处方药品信息表列表
     * 
     * @param prescriptionDrug 处方药品信息表
     * @return 处方药品信息表
     */
    @Override
    public List<PrescriptionDrug> selectPrescriptionDrugList(PrescriptionDrug prescriptionDrug)
    {
        return prescriptionDrugMapper.selectPrescriptionDrugList(prescriptionDrug);
    }

    @Override
    public List<PrescriptionDrug> selectPrescriptionDrugListByPid(Integer pid) {

        //通过pid去查询 其sku信息
        List<PrescriptionDrug> prescriptionDrugs = prescriptionDrugMapper.selectPrescriptionDrugListByPid(pid);
        if(prescriptionDrugs.size()>0){
            for(PrescriptionDrug prescriptionDrug:prescriptionDrugs){
                prescriptionDrug.setPharmacyDrugSku(pharmacyDrugSkuMapper.selectPharmacyDrugSkuById(prescriptionDrug.getSkuId()));
            }
        }
        return prescriptionDrugs;
    }

    /**
     * 新增处方药品信息表
     * 
     * @param prescriptionDrug 处方药品信息表
     * @return 结果
     */
    @Override
    public int insertPrescriptionDrug(PrescriptionDrug prescriptionDrug)
    {
        return prescriptionDrugMapper.insertPrescriptionDrug(prescriptionDrug);
    }

    /**
     * 修改处方药品信息表
     * 
     * @param prescriptionDrug 处方药品信息表
     * @return 结果
     */
    @Override
    public int updatePrescriptionDrug(PrescriptionDrug prescriptionDrug)
    {
        return prescriptionDrugMapper.updatePrescriptionDrug(prescriptionDrug);
    }

    /**
     * 批量删除处方药品信息表
     * 
     * @param ids 需要删除的处方药品信息表主键
     * @return 结果
     */
    @Override
    public int deletePrescriptionDrugByIds(Integer[] ids)
    {
        return prescriptionDrugMapper.deletePrescriptionDrugByIds(ids);
    }

    /**
     * 删除处方药品信息表信息
     * 
     * @param id 处方药品信息表主键
     * @return 结果
     */
    @Override
    public int deletePrescriptionDrugById(Integer id)
    {
        return prescriptionDrugMapper.deletePrescriptionDrugById(id);
    }
}
